generic
   type Index_Type is (<>);
   type Element_Type is private;
   type Element_Array_Type is array(Index_Type range <>) of Element_Type;
   with function Image (x : Element_Type) return String is <>;

function Generic_Array_Image
   (a : Element_Array_Type;
   show_index : Boolean := False
   ) return String;
